import { db } from '../index';
import { contacts } from '../schema';
import { createId } from '@paralleldrive/cuid2';
import { eq } from 'drizzle-orm';

/**
 * 联系人种子数据
 */
export async function runContactSeeds() {
  try {
    console.log('🔄 创建联系人种子数据...');
    
    const contactData = [
      {
        id: createId(),
        name: '张经理',
        position: '销售经理',
        description: '专业负责广告标识项目咨询和方案设计，拥有8年行业经验',
        phone: '13800138001',
        email: 'zhang@cx-ad.com',
        wechat: 'zhang_cxad',
        qq: '123456789',
        expertise: JSON.stringify(['广告设计咨询', '项目方案制定', '客户需求分析', '报价方案']),
        workHours: '周一至周六 9:00-18:00',
        sort: 1,
        featured: 1,
        status: 'active',
        createdAt: new Date().toISOString(),
        updatedAt: new Date().toISOString()
      },
      {
        id: createId(),
        name: '李总监',
        position: '技术总监',
        description: '负责技术方案制定和工艺指导，LED显示屏和发光字制作专家',
        phone: '13800138002',
        email: 'li@cx-ad.com',
        wechat: 'li_cxad_tech',
        qq: '234567890',
        expertise: JSON.stringify(['LED显示屏技术', '发光字工艺', '电路设计', '安装指导']),
        workHours: '周一至周五 8:30-17:30',
        sort: 2,
        featured: 1,
        status: 'active',
        createdAt: new Date().toISOString(),
        updatedAt: new Date().toISOString()
      }
    ];
    
    for (const contact of contactData) {
      // 检查联系人是否已存在（根据手机号判断）
      const existing = await db.select().from(contacts).where(eq(contacts.phone, contact.phone)).limit(1);
      
      if (existing.length === 0) {
        await db.insert(contacts).values(contact);
        console.log(`✅ 创建联系人: ${contact.name} (${contact.position})`);
      } else {
        console.log(`ℹ️ 联系人 ${contact.name} 已存在，跳过创建`);
      }
    }
    
  } catch (error) {
    console.error('❌ 联系人种子数据创建失败:', error);
    throw error;
  }
}